package com.toKnow.utils;

/**
 * 检查用户名、邮箱、密码是否符合规范的工具类
 */
public final class FormatUtil {
    /**
     * 检查用户名格式：6-18，只有英文数字下划线
     * 符合规范返回""，否则返回提示信息
     */
    public static String checkUsername(String username){
        if(!username.matches("\\w*")){ //内容不对
            return "用户名只能由英文、数字、下划线组成";
        }else{
            if(username.length() < 6 || username.length() > 18){ //长度不对
                return "用户名长度应限制在6-18位之间";
            }else{ //注册成功
                return "";
            }
        }
    }

    /**
     * 检查密码格式：至少包含数字字母和特殊字符
     * 符合规范返回""，否则返回提示信息
     */
    public static String checkUserpwd(String userpwd){
        if(userpwd.matches(".*\\d+.*") && userpwd.matches(".*[a-zA-Z]+.*")
                && userpwd.matches(".*[~!@#$%^&*()_+|<>,.?/:;'\\[\\]{}\"]+.*")){
            return "";
        }else{ //内容不对
            return "密码至少要包含一个数字、一个字母、一个特殊字符";
        }
    }

    /**
     * 检查邮箱格式：是否符合规范
     * 符合规范返回""，否则返回提示信息
     */
    public static String checkEmail(String email){
        if(!email.matches("\\w+@\\w+\\.[a-z]+(\\.[a-z]+)?")){
            return "邮箱格式有误";
        }else{
            return "";
        }
    }
}
